import Vue from 'vue'
import VueRouter from 'vue-router'

import Layout from '@/layout'

Vue.use(VueRouter)

/**没有权限的基础页面，所有权限都可以访问 */
export const constantRoutes = [
    // {
    //     path: '/redirect',
    //     component: Layout,
    //     hidden: true,
    //     children: [
    //         {
    //             path: '/redirect/:path(.*)',
    //             component: () => import('@/views/redirect/index')
    //         }
    //     ]
    // },
    {
        path: '/login',
        component: () => import('@/views/login/index'),
        hidden: true
    },
    // {
    //     path: '/auth-redirect',
    //     component: () => import('@/views/login/auth-redirect'),
    //     hidden: true
    // },
    // {
    //     path: '/404',
    //     component: () => import('@/views/error-page/404'),
    //     hidden: true
    // },
    // {
    //     path: '/401',
    //     component: () => import('@/views/error-page/401'),
    //     hidden: true
    // },
    {
        path: '/',
        component: Layout,
        // redirect: '/dashboard',
        // children: [
        //     {
        //         path: 'dashboard',
        //         component: () => import('@/views/dashboard/index'),
        //         name: '首页',
        //         meta: { title: '首页', icon: 'dashboard', affix: true }
        //     }
        // ]
    }
]

const createRouter = () => new VueRouter({
    mode: 'history', // history路由模式
    scrollBehavior: () => ({ y: 0 }), //返回页面滚动位置
    routes: constantRoutes
})

const router = createRouter()

/** 
 * 通过新建一个全新的 Router，然后将新的Router.matcher赋给
 * 当前页面的管理 Router，以达到更新路由配置的目的。目的是注入新的路由，剔除旧的路由
*/
export function resetRouter() {
    const newRouter = createRouter()
    router.matcher = newRouter.matcher // reset router
  }
export default router